#ifndef __EI_MAI_SMART_NOISE_H__
#define __EI_MAI_SMART_NOISE_H__

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif

typedef struct eiMADP_SMART_NOISE_S {
	EI_S32 s32Db;
} EI_MADP_SMART_NOISE_S;

typedef struct eiMADP_SMART_NOISE_RESULTS_S {
	 EI_MADP_SMART_NOISE_S stNoiseResult;
	/* Read Only */
	//EI_MADP_SMART_AFRAME_S *pstAudioData;
} EI_MADP_SMART_NOISE_RESULTS_S;

typedef EI_S32 (*EI_MADP_SMART_NOISE_DATA_CB)(EI_HANDLE hSedCap, EI_MADP_SMART_AFRAME_S *pstSmartAFrame,
	EI_MADP_SMART_NOISE_RESULTS_S *pstDetResults, EI_VOID *pPrivData);
/** the attribute of smart noise det*/
typedef struct eiMADP_SMART_NOISE_CFG_S {
	EI_BOOL bEnable;
	EI_U32 u32SampleRate;
	EI_U32 u32Bitwidth;
	EI_U32 u32ChnCnt;
	EI_U32 u32PtNumPerFrm;

	EI_U32 u32Threshold;
	EI_MADP_SMART_NOISE_DATA_CB pfnDataCB;
	EI_VOID *pPrivData;
} EI_MADP_SMART_NOISE_CFG_S;

/** the attribute of smart sed cap*/
typedef struct eiMADP_SMART_NOISE_ATTR_S {
	EI_HANDLE AiDev;
	EI_HANDLE AiChn;
	EI_HANDLE Det;

	EI_MADP_SMART_NOISE_CFG_S smartNoiseCfg;
} EI_MADP_SMART_NOISE_ATTR_S;



#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif

#endif /* __EI_MAI_SMART_NOISE_H__ */

